package com.funmi.lizip.config;

import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
import org.springframework.util.unit.DataUnit;

import javax.servlet.MultipartConfigElement;

/**
 * 多部份文件上传
 */
@Configuration
public class MultipartConfig {
	@Bean
	public MultipartConfigElement multipartConfigElement() {
		MultipartConfigFactory factory = new MultipartConfigFactory();
		
		// 配置文件大小限制，超出此大小页面会抛出异常信息
		factory.setMaxFileSize(DataSize.of(300, DataUnit.MEGABYTES)); //KB,MB
		//文件最大10M,DataUnit提供5中类型B,KB,MB,GB,TB
		// factory.setMaxFileSize(DataSize.of(10, DataUnit.MEGABYTES));

		// 设置总上传数据总大小
		factory.setMaxRequestSize(DataSize.of(500, DataUnit.MEGABYTES));
		// factory.setMaxRequestSize(DataSize.of(100, DataUnit.MEGABYTES));

		// 设置文件临时文件夹路径
		// factory.setLocation("E://test//");
		// 文件大于这个值以文件形式存储，小于这个值将存储在内存中，默认为0
		// factory.setMaxRequestSize(0);
		
		return factory.createMultipartConfig();
	}
}